package com.liu.yupao.model.vo;

import cn.hutool.json.JSONUtil;
import com.liu.yupao.model.entity.User;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author lqh
 * @since 2025-08-31 20:57
 * 用户包装类 （脱敏）
 */
@Data
public class UserVO implements Serializable{

        private static final long serialVersionUID = 1L;
        /**
         * id
         */
        private Long id;

        /**
         * 用户昵称
         */
        private String username;

        /**
         * 标签
         */
        private List<String> tags;

        /**
         * 介绍
         */
        private String profile;

        /**
         * 账号
         */
        private String userAccount;

        /**
         * 用户头像
         */
        private String userAvatar;

        /**
         * 性别
         */
        private Integer gender;

        /**
         * 电话
         */
        private String phone;

        /**
         * 邮箱
         */
        private String email;

        /**
         * 创建时间
         */
        private Date createTime;

        /**
         *
         */
        private Date updateTime;



        //User -->  UserVO
        public static UserVO toUserVO(User user) {
            UserVO userVO = new UserVO ();
            BeanUtils.copyProperties (user,userVO);
            userVO.setTags (JSONUtil.toList (user.getTags (),String.class));
            return userVO;
        }
    }


